System and method for measuring wave directional spectrum and wave height

ABSTRACT

A system and method for measuring the directional spectrum of one or more waves in a fluid medium using a multi-beam sonar system. In an exemplary embodiment, range cells located within a plurality of acoustic beams are sampled to provide current velocity data. Optionally, wave surface height and pressure data is obtained as well. This velocity, wave height, and pressure data is Fourier-transformed by one or more signal processors within the system, and a surface height spectrum produced. A cross-spectral coefficient matrix at each observed frequency is also generated from this data. A sensitivity vector specifically related to the ADCP&#39;s transducer array geometry is used in conjunction with maximum likelihood method (MLM), iterative maximum likelihood method (IMLM), or other similar methods to solve a the wave equation at each frequency and produce a frequency-specific wave directional spectrum. Ultimately, the frequency-specific spectra are combined to construct a complete two-dimensional wave directional spectrum. The system is also capable of measuring current profile as a function of depth in conjunction with wave direction and wave height.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 10/769,441, filed on Jan. 30, 2004, which issued as U.S. Pat. No. 7,317,660, which is a continuation of U.S. patent application Ser. No. 09/911,896, filed Jul. 23, 2001, which issued as U.S. Pat. No. 6,700,834, which is a continuation of U.S. patent application Ser. No. 09/495,743, filed on Feb. 1, 2000, which issued as U.S. Pat. No. 6,282,151, which is a continuation of U.S. application Ser. No. 09/128,422, filed on Aug. 4, 1998, which issued as U.S. Pat. No. 6,052,334. Each of the above identified applications is hereby incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to underwater acoustic measurement systems and, more particularly, to acoustic Doppler current profilers used to measure wave directional spectra and surface wave height.

2. Description of the Related Technology

The use of Doppler sonar to measure currents in a fluid medium is well established. Conventional acoustic Doppler current profilers (ADCPs) typically use an array of acoustic transducers arranged in the well known Janus configuration. This configuration consists of four acoustic beams, paired in orthogonal planes. The ADCP measures the component of velocity projected along the beam axis, averaged over a range cell whose beam length is roughly half that of the emitted acoustic pulse. Since the mean current is assumed to be horizontally uniform over the beams, its components can be recovered simply by differencing opposing beams. This procedure is relatively insensitive to contamination by vertical currents and/or unknown instrument tilts.

The analysis of waves in a fluid medium is much more complicated, however. Although the wave field is statistically stationary and homogeneous, at any instant of time the wave velocity varies across the array and as a result it is not possible to separate the measured along-beam velocity into horizontal and vertical components on a sample-by-sample basis. If one sonar beam is vertical, then the frequency spectra in the can be separated, and a crude estimate of direction obtained from the ratio of horizontal velocity spectra. But phase information is irrevocably lost through this procedure and the estimate is substantially biased when the waves are directionally spread. As a result, this estimator is not particularly useful, except perhaps in the case of swell. There is, however, phase information in the cross-correlations between the various range bins, and this fact allows the application of conventional signal processing techniques to estimate wave direction.

The wave directional spectrum (WDS) is a mathematical representation of the wave direction as a function of azimuth angle and wave frequency, which is useful in describing the physical behavior of waves within the fluid medium. The most common existing devices used to obtain wave directional spectra are 1) pitch, and roll buoys, and 2) PUV triplets, described in further detail below.

Pitch and roll buoys typically measure tilt in two directions as a surrogate for wave slope, along with the vertical component of acceleration. A recent variation uses GPS (Global Positioning System) measurements of three velocity components instead. The measured time series are Fourier transformed and the auto- and cross-spectra are formed, resulting in a cross-spectral matrix at each frequency. The elements of the cross-spectral matrix are directly related to the first five Fourier coefficients in direction (through 2θ) of the wave directional spectrum at each frequency (see Appendix A1). These buoys are typically used in deeper water. Unfortunately, the transfer functions for these buoys are complex, non-linear, and often difficult to determine. Additionally, the presence of a mooring line for the buoys adds additional complexity to the analysis due to added motion. Furthermore, such buoys are comparatively costly, vulnerable to weather and theft, and are not capable of measuring currents or wave heights.

PUV triplets (so named due to their measurement of pressure and both components of horizontal velocity, namely u and v) are basically single point electromagnetic current meters having an integral pressure transducer. Time series of pressure and horizontal velocity from PUV triplets are processed in a manner similar to the measurements made by pitch and roll and GPS buoys, also giving only the first five Fourier coefficients in direction at each frequency. PUV triplets are typically bottom mounted, and generally only useful in shallow water. This significant disability is due to the decrease in high frequency response resulting from the decay of wave velocity and pressure with increased water depth.

FIG. 1 illustrates a third and less common prior art technique for measuring wave directional spectrum employed by Krogstad, et al (see “High Resolution Directional Wave Spectra from Horizontally Mounted Acoustic Doppler Current Meters,” Journal of Atmospheric and Oceanic Technology, Vol. 5, No. 4, August 1988) as part of the CUMEX (Current Measurement Experiment) program. This technique utilizes an acoustic Doppler sonar system having a transducer array mounted on an underwater structure. The array is configured with sets of horizontally oriented acoustic transducers which project two acoustic beams in a horizontal plane 90 degrees apart. Beam propagation is therefore essentially parallel to the surface of the water, and skims the surface of the water as the beam disperses. Such a surface skimming geometry provides a relatively dense and uniform set of time lagged echoes and therefore permits estimation of the joint frequency-wavenumber spectrum S(f,k). See “Open Ocean Surface Wave Measurement Using Doppler Sonar,” Pinkel, R. and J. A. Smith, J. Geophys., Res. 92, 1987. Specifically, the directional spectrum D(θ) is expanded into a Fourier series, the coefficients of which are determined from the cross-spectral coefficient matrices generated from data obtained by the system. Since the acoustic beams are horizontal, no vector quantity (i.e., sensitivity vector) relating the beam geometry to the received current data is necessary. This technique is well suited to applications requiring only wave direction measurements and where a large, stable platform, such as a tower or large spar buoy, is available. However, there are a large number of applications, particularly in coastal oceanography and engineering, where it is desirable to know both the wave direction and vertical current profile, which the horizontal beam system can not provide. These applications include the analysis of sediment transport, atmosphere/sea interaction, pollutant dispersal, and hydrodynamic forces on off-shore structures. Additionally, it may be desirable in certain situations to simultaneously obtain wave height data along with the direction and current data. Due to the beam geometry, horizontal beam systems also are unable to measure current velocity above the wave troughs, which may be useful for studies of wave kinematics.

In summary, existing wave direction measurement techniques generally have several significant drawbacks (depending on type) including 1) inability to measure fluid current velocity and/or wave height along with WDS, 2) inability to readily measure wave directional spectrum at a broad range of depths; 3) inability to measure velocity profile above the wave troughs, 4) high degree of non-linearity; 5) high cost relative to the data obtained therefrom; and 6) susceptibility to damage/degradation from surface or near-surface influences.

Accordingly, a system and method for accurately measuring the wave directional spectrum and current profile in a broad range of water depths is needed by both commercial entities and researchers. Such a system and method would further allow the optional measurement of wave height in conjunction with WDS. Additionally, the system would be highly linear in response, physically compact and largely self-contained in design, and could be deployed in a number of different scenarios such as being bottom mounted, moored, or even mounted on a mobile submerged platform. The flexibility of configurations permits the user to have the maximum degree of operational flexibility and device longevity without significantly impacting performance or accuracy. Additional benefits of economy would be obtained through the use of commercially available off-the-shelf broadband or narrowband sonar equipment where practical.

SUMMARY OF THE INVENTION

The above-mentioned needs are satisfied by the present invention which includes a system and method for measuring the wave directional spectrum, current velocity within a given range cell or set of range cells, and wave height associated with a fluid medium by using acoustic signals. The present invention allows for accurate measurements of these parameters from fixed, moored, or mobile platforms using conventional Doppler sonar in conjunction with an upward and/or downward looking transducer array.

In a first aspect of the invention, there is an improved system for measuring the wave directional spectrum of a fluid medium. In one embodiment, a broadband acoustic Doppler current profiler (ADCP) is used in conjunction with an upward looking, bottom mounted multi-transducer (or phased) acoustic array to generate multiple acoustic beams, and sample a plurality of different range cells corresponding to different depths within those beams, in order to derive velocity and wave height data. Pressure readings are also optionally obtained from an associated pressure transducer located either on the ADCP or remotely thereto. This velocity, wave height, and pressure data is Fourier-transformed by one or more signal processors within the system (or in post-processing), and a surface height spectrum produced. A cross-spectral coefficient matrix at each observed frequency is also generated from this data. A sensitivity vector specifically related to the ADCP's specific array geometry is used in conjunction with maximum likelihood method (MLM), iterative maximum likelihood method (IMLM), iterative eigenvector (IEV), or other similar methods to solve the forward relation equation at each frequency and produce a wave directional spectrum. The ADCP may further be used to measure current velocity for various range cells in conjunction with the WDS and wave height measurements.

In a second embodiment of the wave direction measuring system of the present invention, the sonar system and acoustic array are mounted to a platform, such as a vessel hull, with the array positioned so as to generate a plurality of upward and/or downward-looking acoustic beams such that altitude and bottom velocity, along with mean current profile, can be measured.

In a second aspect of the invention, there is an improved algorithm and method of measuring the wave directional spectrum associated with a fluid medium. Specifically, a plurality of vertically oriented (possibly slanted) acoustic beams are generated using the system previously described. A plurality of different range cells within those beams are sampled to derive current velocity (and optionally, wave height) data. Pressure readings are also optionally obtained from the associated pressure transducer. Initially, the sampled data is processed to remove data outliers and calculate mean values for current velocity, depth, and pressure. Intrinsic wave frequency (f) and wavenumber magnitude (k) are also calculated for each observed frequency component. Next, a non-directional surface height spectrum is calculated by computing the power spectra for the range cells of interest, and the transfer functions for the sensor array. A cross-spectral correlation matrix is then generated by selecting data from certain range cells, which may be the same or different from those selected for computing the power spectra above, applying a fast Fourier transform (FFT), cross multiplying all possible pairs of spectral coefficients for each observed frequency, and then averaging the results over time (from repeated Fourier transforms of sequential time segments) and/or over frequency (within bands of adjacent observed frequencies). After the cross-spectral matrix has been obtained, maximum likelihood, iterative maximum likelihood, and/or iterative eigenvector solution methods are applied to the array sensitivity vector, which is uniquely related to the chosen array geometry, and cross-spectral matrix to obtain a frequency specific wave directional spectra. Ultimately, the frequency-specific spectra are combined to construct a complete wave directional spectrum descriptive of both azimuth and frequency. The inventive algorithm can be run on existing signal processing equipment resident within the ADCP system, or run on an external computer as a post-processing task.

In a third aspect of the invention, there is an improved method of measuring the wave height spectrum of a fluid medium using a submerged sonar system. A broadband ADCP sonar system of the type described above is used in conjunction with an upward- or downward-looking transducer array in order to measure wave height using one or a combination of methods. The first method is to determine the slant range to the surface using the measured backscatter intensity and/or signal correlation to interpolate the location of the surface. The wave height spectrum is determined as the power spectrum of the surface elevation. The second method is to measure beam velocity data from selected range cells within the beams and use the relationship between the velocity spectrum and the wave height spectrum from linear wave theory to determine the latter. Alternatively, in a third method, pressure measurements obtained from the ADCP's pressure transducer may be used to calculate wave height.

These and other objects and features of the present invention will become more fully apparent from the following description and appended claims taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a prior art wave directional spectrum measurement device utilizing two horizontal acoustic beams.

FIG. 2 a is a perspective view of a first embodiment of an acoustic sonar system used for measuring wave directional spectrum, wave height, and current profile according to the present invention, the system being mounted to the bottom of the fluid medium volume.

FIG. 2 b is a perspective view of a second embodiment of an acoustic sonar system used for measuring wave directional spectrum, wave height, and current profile according to the present invention, the system being mounted to the bottom via a mooring line or tether.

FIG. 2 c is a perspective view of a third embodiment of an acoustic sonar system used for measuring wave directional spectrum, wave height, and current profile according to the present invention, the system being mounted on a submerged moving platform.

FIG. 2 d is a perspective view of a fourth embodiment of a bottom mounted acoustic sonar system used for measuring wave directional spectrum, bottom velocity, and altitude according to the present invention, the system being mounted on a mobile surface platform in a downward-looking orientation.

FIGS. 3 a and 3 b are side elevational and top plan views, respectively, of an exemplary current profiler transducer array in the Janus configuration used for performing wave directional spectrum and wave height measurements in accordance with the present invention.

FIG. 3 c is an overhead and perspective view of an exemplary transducer array in the “star” configuration optionally used in conjunction with the present invention.

FIG. 4 is a side view of the bottom mounted sonar system of FIG. 2 a illustrating the angular relationships of the acoustic beams to the surface of the fluid medium, and the relative position of range cells within the beams.

FIG. 5 is a block diagram of an exemplary embodiment of the electronics for a broadband acoustic Doppler current profiler (ADCP), which may be used in an embodiment of the present invention.

FIG. 6 is a flow diagram illustrating the general method of determining wave directional spectrum according to one aspect of the present invention.

FIG. 6 a is a flow diagram illustrating one exemplary embodiment of the initial data processing function of the method of FIG. 6.

FIG. 6 b is a flow diagram illustrating one exemplary embodiment of the wave height spectrum calculation function of the method of FIG. 6.

FIG. 6 c is a flow diagram illustrating one exemplary embodiment of the cross-spectral coefficient matrix calculation function of the method of FIG. 6.

FIG. 6 d is a flow diagram illustrating one exemplary embodiment of the maximum likelihood method (MLM) calculation function of the method of FIG. 6.

FIG. 6 e is a flow diagram illustrating one exemplary embodiment of the iterative maximum likelihood method (IMLM) calculation function of the method of FIG. 6.

FIG. 6 f is a flow diagram illustrating one exemplary embodiment of the function of constructing the two-dimensional wave directional spectrum D(θ, f) according to the method of FIG. 6.

FIG. 7 is a plot of the linear wave dispersion relation obtained from an experimental deployment of the WDS measurement system using an embodiment of the present invention.

FIG. 8 is a mesh plot of an exemplary maximum likelihood method (MLM) estimate of the directional wave spectrum generated using an embodiment of the present invention.

FIG. 9 is a wave height spectrum obtained by integrating the spectra of FIG. 8 over all azimuthal angles.

FIG. 10 is a plot comparing estimates of wave directional spectrum versus azimuth for various input spectra as derived using both the maximum likelihood and iterative maximum likelihood methods.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference is now made to the drawings wherein like numerals refer to like parts throughout.

FIG. 1 shows a transducer array for measuring wave height as is known in the technology. FIG. 2 a illustrates a first exemplary embodiment of the WDS measurement system of the present invention. As shown in FIG. 2 a, the system 100 is bottom-mounted and includes a body element 101 containing sonar electronics and processing equipment 102, and a multi-transducer array 103 having the individual transducer elements arranged in the Janus configuration (see discussion of FIGS. 3 a and 3 b below). This transducer array 103 generates acoustic beams 104 which are coplanar in the vertical plane 106 yet divergent from a horizontal plane 108 parallel to the surface of the fluid medium 110. The fluid medium 110 is most often natural or man-made bodies of water, especially the ocean. It should be noted that while the Janus array configuration is used in the embodiment of FIG. 2 a, other array configurations which form beams having an angular relationship to the horizontal plane 108 may also be used. For example, a “pinwheel” array (e.g., one where the acoustic beams are skew-divergent from the longitudinal axis of the array), or “star” array (non-coplanar, non-skewed beams) may also be used. Additionally, phased or time-delayed arrays may be used in conjunction with the present invention. Note that the array sensitivity vector H, which is described in greater detail below, is unique to the specific array geometry employed, and accordingly is modified for use with such alternate array configurations.

Referring again to FIG. 2 a, the sonar system 100, including the transducer array 103, is mounted to the bottom 110 using any number of well known bottom mounting techniques including attachment to a heavy frame, trawl-resistant cage, or buried post. Alternatively, the system 100 can simply be laid on the bottom (or partially buried) in the desired orientation with no mounting hardware or attachment; a significant improvement over prior art systems which require a mooring line or platform. Since there is effectively no motion of the array within local spatial frame of reference 112 when the system 100 is bottom mounted, no errors resulting from the movement or rotation of the array 103 are generated, and hence the accuracy of the system is maximized. Additionally, bottom mounting places the system 100 away from the potentially damaging influences of surface craft, strong surface waves and current, and vandals. For these reasons, fixed mounting to the bottom 110 as depicted in FIG. 2 a is the preferred method; however, the system 100 may alternatively be mounted via a mooring line (FIG. 2 b), or on a moving underwater platform (FIG. 2 c), and still produce useful WDS, current, and wave height data.

As shown in FIG. 2 d, the transducer array 103 may also be inverted for use with a surface or near-surface application, such as within the hull of a surface vessel 120, such that downward-projecting acoustic beams 104 are generated. In this way, WDS or current velocity at varying depths and at the bottom 110 of the fluid volume can be measured. Array altitude above the bottom (e.g., the height of the array above the local bottom), which may be different than water depth, can also be measured using this configuration.

Referring now to FIGS. 3 a and 3 b, an exemplary transducer array configuration is shown. As previously discussed, the Janus configuration is preferred for use with the present invention, although other transducer configurations may be used. The Janus configuration utilizes transducer elements 140 which are spaced at 90 degree intervals in the azimuthal plane 142, and which are angled with respect to the longitudinal axis 144 of the array. The construction and operation of the Janus configuration array are well known in the sonar technology, and accordingly shall not be further described.

FIG. 3 c illustrates a “star” (aka “bugeye”) transducer configuration which can be used as an alternative to the Janus configuration previously described. As shown in the Figure, the star array generates four separate acoustic beams: three beams inclined with respect to the longitudinal axis 144 of the array and set at 120-degree intervals in azimuth, and a fourth beam centrally located and coincident with the longitudinal axis 144.

As is discussed in greater detail with respect to FIG. 5 below, an acoustic Doppler current profiler (ADCP) is the preferred sonar system used in the wave directional measurement system 100 of FIGS. 2 a-2 d. Unlike prior art WDS measurement systems which must be located within or close to the strata of the fluid medium being analyzed, the ADCP, using its upward-looking array, is capable of remotely sensing current velocity and wave height, thereby providing the WDS measurement system 100 with greater range capability as well as protection from surface and near-surface hazards.

FIG. 4 is a side view of the bottom mounted sonar system 100 of FIG. 2 a, including the transducer array of FIGS. 3 a and 3 b, illustrating the angular relationships of the acoustic beams 104 to the surface of the fluid medium, and the relative position of individual range cells within the beams. As shown in the Figure, the beams project upward from the transducer array 103 at an angle, typically between 20 and 30 degrees, although other values may be used, in relation to the vertical axis 200 of the local frame of reference 112. It is assumed for illustration that the longitudinal axis of the array 144 is coincident with the vertical axis 200 of the local frame of reference 112. However, it can be appreciated that the array 103 may be mounted at somewhat of an angle (“tilt”) with respect to the vertical axis 200 depending on bottom type, contour, and other factors. Such a tilt is accounted for by selecting different range cells or bins within the various beams, and using the precise location of each range cell in the calculation of the sensitivity vector. Additionally, when the array 103 is mounted on a mooring line (as in FIG. 2 b) or on a submerged moving platform (FIG. 2 c), rotations off of the vertical axis 112 may be induced. Depending on the magnitude of the rotation, effects on the ultimate calculation of WDS, wave height, and current velocity within a given set of range cells may exist. Accordingly, a correction algorithm may be applied if desired to compensate for such movement.

FIG. 5 illustrates an exemplary embodiment of the electronics for a broadband acoustic Doppler current profiler (ADCP) such as a Rowe-Deines Instruments Model BBADCP VM-150 used within the present invention. While the following discussion may refer to this ADCP system, it can be appreciated that other models and types of sonar systems, such as narrowband Doppler systems or non-Doppler-based systems, may be used with the present invention depending on the particular application and needs of the user.

Referring again to FIG. 5, the transducer array 103 is electrically connected to the electronics assembly 170 which includes a mixer network 172, low pass filter network 174, sampling module 176, and digital signal processor (DSP) 178. Signals generated by the transducer array elements 140 upon the receipt of acoustic signals are fed via the transmit/receive switches 180 to preamplifiers 182 and receiver amplifiers 184 which condition and amplify the signal(s) for further processing by the electronics assembly 170. A coder transmitter 186 and power amplifier 188 are used in conjunction with the DSP 178 to feed transmission signals to the transducer elements 140 via the transmit/receive switches 180. Thus, the same transducer elements are used for both transmit and receive functions. Additional details regarding the exemplary broadband ADCP system are contained in U.S. Pat. No. 5,208,785, “Broadband Acoustic Doppler Current Profiler” assigned to Rowe-Deines Instruments, Inc., which is incorporated herein by reference in its entirety.

It should be emphasized that the above-described system 100 utilizes a standard Rowe-Deines or other comparable ADCP, and requires no special hardware or modifications. This fact greatly increases the design and manufacturing economy of the present invention, and allows for easy retrofitting to existing ADCP systems. A pressure sensor is used to measure mean water depth (as well as optionally the wave height spectrum as discussed further below. However, such sensors are often available as options on commercial ADCP systems, or can be otherwise easily integrated into or mounted on the ADCP. Most any commercially available sensor adapted for underwater use, such as the Sensym Hastelloy C22 flush mount pressure sensor cell, can be used in this application.

Method and Algorithm for Estimating Wave Directional Spectrum and Wave Height

Each of the previously described hardware embodiments of the wave measurement system of the present invention utilize a specially designed algorithm to calculate WDS and wave height. This algorithm is ideally embodied in the form of software running on the existing signal processing capability of the ADCP (or other chosen sonar system), although it can be appreciated that the algorithm or components thereof could be embodied in firmware and/or hardware as well. The algorithm is based on a general method of calculating WDS which uses “sensor” data (e.g., current velocity, wave height, and/or pressure data) in conjunction with a sensitivity vector H, the latter being uniquely related to the chosen array geometry. The following discussion provides a theoretical overview of this method, followed by a detailed description of the operation of the algorithm used in conjunction with the preferred ADCP system described above. Appendix I provides additional detail on the derivation of the sensitivity vector H, cross-spectral matrix C, and wave directional spectrum D(θ, f)

Theoretical Overview

ADCP sonar systems measure, inter alia, the instantaneous current velocity component projected along the axis of each of its angled acoustic beams. The current can then be computed as the mean of the difference in velocities between opposing beams. Since successive positions along the angled beams correspond to different horizontal locations, the set of range cells within the beams constitutes a spatial array. Useful information regarding wave direction is contained in the current velocity cross-spectra (e.g., the array covariance matrix). Several other factors relating to the acoustic beam geometry must be considered, however.

First, the velocity signal-to-noise ratio (SNR) varies as a function of depth. At a given frequency, this change is due largely to the decay of wave velocity and pressure with depth. Hence, for the shorter waves, only range cells fairly close to the are of practical use.

Second, velocity measured by the sonar is a linear combination of both vertical and horizontal wave velocities, the relative weighting therebetween being a function of both wave direction and water depth. A mathematical relationship connecting the along-beam component of wave velocity and surface elevation is needed.

For practical purposes, a random wave field can be treated as if it were a linear superposition of infinitesimal uniform plane waves, each with a particular directional orientation, frequency, and wavenumber. Neglecting non-linear effects, the dispersion relation is used to constrain these plane waves to a set that satisfies the linear dispersion relation connecting frequency and wavenumber. When there is no mean current, the linear dispersion relation for an infinitesimal plane wave is:

$\begin{matrix} {f = {\frac{1}{2\pi}\sqrt{{gk}\mspace{14mu}{\tanh({kh})}}}} & {{Eqn}.\mspace{14mu} 1} \end{matrix}$

-   -   where f is the wave frequency (Hertz),         -   g is the gravitational acceleration constant (about 9.8             m/s²,         -   h is the water depth (meters),         -   k=2π/L is the wavenumber magnitude (radians per meter), and         -   L is the wavelength (meters),             Allowing for a steady uniform current u, and assuming an             observation platform fixed to the bottom, the linear             dispersion relation has the somewhat modified form:

$\begin{matrix} \begin{matrix} {f_{obs} = {f + {\frac{1}{2\pi}{u_{c} \cdot k}}}} \\ {= {\frac{1}{2\pi}\left\lbrack {\sqrt{{gk}\mspace{14mu}{\tanh({kh})}} - {u_{c}k\;{\cos\left( {\beta - \theta} \right)}}} \right\rbrack}} \end{matrix} & {{Eqn}.\mspace{14mu} 2} \end{matrix}$

-   -   where f_(obs) is the observed wave frequency (Hz),     -   f is the intrinsic wave frequency that would be observed in a         reference frame moving with the current (from Eqn. 1),     -   k is the wavenumber vector perpendicular to the wave crests         (radians/m), pointed in the direction the wave moves relative to         the water,     -   β is the azimuth angle of the direction the current is moving         toward,     -   θ is the azimuth angle opposite to the direction of the         wavenumber vector k, (the direction the waves are coming from         relative to the water),     -   u_(c) is the current vector, and     -   u_(c)=|u_(c)| is the current speed (m/s).         Note that velocity contributions of order (ak)² and higher are         neglected, where a is a measure of wave amplitude (e.g. ak is         proportional to wave slope). Terms of order (ak)² in the         dispersion relation are also discarded. Since the waves of         interest are those near the spectral peak, which conservatively         have slopes less than 0.1, these corrections are less than 1%.

If the current is not uniform with elevation, the appropriate value of u, to use at each intrinsic frequency is the weighted-average velocity profile, using a normalized weighting function proportional to the square of the horizontal wave orbital velocity:

$\begin{matrix} {u_{c} = \frac{{\int_{- h}^{0}\left\lbrack {f\mspace{14mu}{{\cosh\left\lbrack {k\left( {h + z} \right)} \right\rbrack}/{\sinh({kh})}}} \right\rbrack^{2}} < {u(z)} < {\mathbb{d}z}}{\int_{- h}^{0}{\left\lbrack {f\mspace{14mu}{{\cosh\left\lbrack \left( {h + z} \right) \right\rbrack}/{\sinh({kh})}}} \right\rbrack^{2}{\mathbb{d}z}}}} & {{Eqn}.\mspace{14mu} 3} \end{matrix}$ where <u(z)> is the time-averaged horizontal current profile.

For the wave directional spectrum, the usual convention is to use the linear dispersion relation to eliminate the magnitude k of the wavenumber as an independent variable. The wave directional spectrum D(θ, f) therefore represents the power spectral density of the infinitesimal plane waves in the two-dimensional azimuth-frequency space.

In general, an instrument for measuring the wave directional spectrum can make use of a combination of velocity, pressure, and/or surface elevation measurements at a single point (“triplet”) or at an array of points at or below the water surface. Linear wave theory can be used to relate the directional wave spectrum D(θ, f) to these measurements. The Fourier transforms of measurement time series can be cross-multiplied to form cross spectral coefficients, which can be arranged in a cross-spectral coefficient matrix C at each observed frequency. The so-called “forward relation” is a theoretical model connecting the unknown wave direction spectrum D(θ, f) with the observable array covariance matrix C(f_(obs)) (the matrix of velocity cross-spectra between the various sonar range cells). The forward relation takes the following form:

$\begin{matrix} {{C\left( f_{obs} \right)} = {\int_{\pi}^{+ \pi}{{H\left( {\theta,f_{obs}} \right)}{D\left( {\theta,f} \right)}{H^{\dagger}\left( {\theta,f_{obs}} \right)}J{\mathbb{d}\theta}}}} & {{Eqn}.\mspace{14mu} 4} \end{matrix}$

where f_(obs)=f_(obs)(f) is the mapping given by Eqn. 2,

-   -   H is the sensitivity vector (known from linear wave theory),     -   H^(†) is the complex conjugate transpose (Hermitian) of H,

$\begin{matrix} {{J = {{\frac{\partial f}{\partial f_{obs}}}_{\theta} = {\left\lbrack {1 - \frac{u_{c}{\cos\left( {\beta - \theta} \right)}}{c_{g}}} \right\rbrack^{- 1}\mspace{14mu}{is}\mspace{14mu}{the}\mspace{14mu}{Jacobian}}}},} & {{Eqn}.\mspace{14mu} 5} \\ {{c_{g} = {\frac{\mathbb{d}\left( {2\pi\; f} \right)}{\mathbb{d}k} = {\frac{1}{2}{c_{ph}\left\lbrack {1 + \frac{2{kh}}{\sinh\left( {2{kh}} \right)}} \right\rbrack}\mspace{20mu}{is}\mspace{14mu}{the}\mspace{14mu}{group}\mspace{14mu}{velocity}}}},{and}} & {{Eqn}.\mspace{14mu} 6} \\ {c_{ph} = {\frac{2\pi\; f}{k} = {\sqrt{\frac{g}{k}{\tanh({kh})}}\mspace{20mu}{is}\mspace{14mu}{the}\mspace{14mu}{phase}\mspace{14mu}{velocity}}}} & {{Eqn}.\mspace{14mu} 7} \end{matrix}$ Note that the form of the sensitivity vector H is related to the geometry of the array formed by range cells selected from those in the ADCP beams. Each selected range cell from a particular beam and depth corresponds to an element of H. The sensitivity vector H may also optionally contain elements corresponding to surface elevation measured acoustically at each beam, and/or a pressure measurement.

Note also that when there is a current, there may be more than one f that maps to each f_(obs), in which case C is the sum of such mappings. Since negating the frequency is equivalent to reversing the direction o the wavenumber, θ should be replaced with θ+π when f_(obs) is negative due to strong current.

Again, the forward relation (Eqn. 4) applies to any array or triplet that measures wave directional spectra. The inversion of the forward relation to determine wave directional spectrum from measured cross-spectral matrix C presents significant complexities in that an infinite-dimensional object (D) is to be estimated using a set of finite-dimensional observations (C). Hence, the problem is severely underconstrained and no unique solution exists. A number of different solution techniques have been developed to address the inversion problem. Of most use to the present invention are the so-called maximum likelihood method (MLM) and iterative maximum likelihood method (IMLM), the general application and operation of which are well known in the signal processing arts. See Appendix I for a more detailed discussion of the theoretical foundation for these techniques. It should be noted that while the present invention is described in terms of the MLM and IMLM techniques, other techniques such as the iterative eigenvector (IEV) method, may be applied depending on the particular application.

Description of WDS Algorithm

Referring now to FIG. 6, the algorithm for determining the wave directional spectrum according to the present invention is described. In the present embodiment, the algorithm 300 consists of the following general steps: 1) conducting initial data processing 302; 2) calculating a non-directional wave height spectrum 304; 3) calculating a cross-spectral matrix C for each observed frequency 306; 4) estimating the wave directional spectrum (for each observed frequency) 308 a, 308 b; and 5) constructing a complete two-dimensional wave directional spectrum from the estimates derived in Step 4) 309. Each of these steps is described in detail below, with reference to FIGS. 6 a-6 f, respectively. It should be noted that the individual steps 302, 304, 306, 308 a, 308 b, 309 of the algorithm 300 (and their sub-steps) may be permuted under certain circumstances. Furthermore, while specific computations are described, it can be appreciated that other mathematical approaches or techniques may be substituted.

As shown in FIG. 6 a, the initial processing step 302 of the algorithm 300 includes a series of sub-steps 310, 312, 314, 316, 318, 320 which collectively prepare the raw data obtained from the sensors for further processing. In the first sub-step 310 of algorithm step 302, raw data obtained from the sensors is decoded using any number of decoding algorithms known in the prior art. In the second sub-step 312, the surface height for each acoustic beam is calculated. This is accomplished using the interpolated peak location in the acoustic backscatter intensity, as described in “Measuring Wave Height and Direction Using Upward-Looking ADCPs”, Terray, E., et al, IEEE Oceans 1997, August, 1997, which is incorporated herein by reference in its entirety, although other methods may be used. The third sub-step 314 involves processing the decoded raw data to identify “outliers,” data having a poor correlation, or data associated with other anomalies present in the fluid medium (such as marine life). Next, in the fourth sub-step 316, “bad” data identified in sub-step 314 is replaced with data derived by interpolating between “good” data values. Mean values of current velocity (and optionally water depth and pressure) are then calculated in sub-step 318 from the processed data resulting from the data replacement process 316. Finally, in the last sub-step 320, values of wave frequency (f) and wave number magnitude (k) are calculated using numerical inversion of the linear dispersion relation (see eqn. 2 above, which is discussed in additional detail in Appendix I)

As shown in FIG. 6 b, the step of calculating the wave height spectrum S_(H) 304 in FIG. 6 includes a series of sub-steps 322, 324, 326, 328, 330, 332, 334 which collectively calculate S_(H) from the data initially processed in the first algorithm step 302. In the first sub-step 322 of algorithm step 304, velocity data is selected from certain range cells within the acoustic beams 104. Using the apparatus of FIG. 2 a above, these range cells are selected primarily on their proximity to the surface of the fluid medium (so as to reduce the effects of wave velocity and pressure decay with depth, as previously described), although other cells may be chosen. Optionally, surface height and pressure data is also selected. It should be emphasized that while the present algorithm 300 has the capability to incorporate wave height and pressure measurements within the sensitivity vector H (see discussion of FIG. 6 d below), such measurement are not required to calculate the WDS. The use of such measurements do, however, generally increase the relative accuracy of the estimate provided by the system.

In the second sub-step 324 of FIG. 6 b, the selected velocity, surface height, and pressure data is detrended by subtraction of a trendline determined by least-squares fit and windowed by multiplication by a window function of time such as a Bartlett window, for the purpose of reducing spectral leakage. The third sub-step 326 computes a power spectrum for each set of data by performing a fast Fourier transform (FFT) and squaring the magnitude of the result, although other methods may be used. Next, in the fourth sub-step 328, the power spectra are averaged into frequency bins (so-called “decimation”). Transfer functions T(f_(obs))=|H|⁻² are then computed for each “sensor” in sub-step 330 using Eqns. 16 and 17 below. It should be noted that the term “sensor” in the present context refers to either 1) current velocities obtained from the range cells of the acoustic beams at the same water depth; 2) the surface height measurement obtained for each acoustic beam (see calculation of surface height sub-step 312 above), or 3) the pressure sensor. Combinations of these sensors may also be used to calculate the wave height spectrum.

In the sixth sub-step 332 of FIG. 6 b, power spectra for groups of range cells at the same depth are combined by adding the power spectral coefficients. Finally, in the last sub-step 334, all power spectra previously calculated are combined into one wave height spectrum S_(H) using, for example, a least squares fit technique and the transfer functions T(f_(obs)).

Referring now to FIG. 6 c, the method of calculating of the cross-spectral matrix is described in detail. As in the calculation of S_(H) described above (FIG. 6 b), data from specific range cells, surface height data, or pressure sensor data are selected in the first sub-step 336. Note, however, that the data selected in this sub-step 336 may be the same or different from that selected as part of the calculation of S_(H) 322. Smaller range cells may be needed to resolve the direction of the shorter waves, while range cells may be combined into larger ones (by averaging velocity measurements) to reduce the noise level for computing the wave height spectrum.

Again, the selected data is detrended and windowed (sub-step 338). After windowing and detrending, complex spectra are computed (using FFT or another comparable technique) 340. Next, all possible pairs of spectral coefficients for each observed frequency (f_(obs)) are cross-multiplied 342. In order to perform this cross-multiplication sub-step 342, one spectral coefficient from each pair is first complex-conjugated. Lastly, the cross-spectral matrices for each observed frequency are averaged over time (and/or within frequency bands) to produce the cross-spectral matrix as a function of observed frequency 343.

Referring now to FIG. 6 d, the maximum likelihood method (MLM) step 308 a of FIG. 6 is described in detail. As previously described, the MLM is one algorithm available for solving the so-called “forward relation” which relates the wave directional spectrum D (θ,f) with the observable cross-spectral matrix C (f_(obs)).

As shown in FIG. 6 d, the first sub-step 344 of the MLM is to invert the cross-spectral coefficient matrix C for each observed frequency using a singular value decomposition (SVD) technique. SVD techniques are well known to those skilled in the signal processing arts, and accordingly will not be discussed in further detail herein.

Next, the array-specific sensitivity vector H is calculated 346. Each selected range cell from a particular acoustic beam and depth corresponds to an element of H. Note that H may also contain elements corresponding to optional surface height and pressure measurements. The sensitivity vector H represents the ideal measured response to a plane wave, assuming linear theory and the linear dispersion relation (see previous discussion), and neglecting instrument noise. The linear wave model predicts:

$\begin{matrix} {{\eta\left( {x,t} \right)} = {{a\;{\cos\left( {{k \cdot \left( {x - {u_{c}t}} \right)} - {2\pi\;{ft}}} \right)}} = {a\;{\cos\left( {{k \cdot x} - {2\pi\; f_{obs}t}} \right)}}}} & {{Eqn}.\mspace{14mu} 8} \\ {{p\left( {x,z,t} \right)} = {{\rho\;{ga}\frac{\cosh\left\lbrack {k\left( {h + z} \right)} \right\rbrack}{\cosh({kh})}{\cos\left( {{k \cdot x} - {2\pi\; f_{obs}t}} \right)}} - {\rho\;{gz}}}} & {{Eqn}.\mspace{14mu} 9} \\ {{u\left( {x,z,t} \right)} = {{{a\left( {2\;\pi\; f} \right)}\frac{\cosh\left\lbrack {k\left( {h + z} \right)} \right\rbrack}{\sinh({kh})}{\cos\left( {{k \cdot x} - {2\pi\; f_{obs}t}} \right)}\left( \frac{k}{k} \right)} + u_{c}}} & {{Eqn}.\mspace{14mu} 10} \\ {{w\left( {x,z,t} \right)} = {{a\left( {2\pi\; f} \right)}\frac{\sinh\left\lbrack {k\left( {h + z} \right)} \right\rbrack}{\sinh({kh})}{\sin\left( {{k \cdot x} - {2\pi\; f_{obs}t}} \right)}}} & {{Eqn}.\mspace{14mu} 11} \end{matrix}$

where

-   -   η is the surface elevation (m),     -   p is the pressure (Pascal),     -   ρ is the water density (kg/m³),     -   g is the gravitational acceleration (m/s²),     -   u is the horizontal velocity vector (m/s),     -   w is the vertical velocity component (m/s),     -   a is the half-amplitude of the plane wave (m),     -   h is the water depth (m),     -   x is the horizontal position vector, and     -   z is the vertical position (−h at the bottom, o at the surface)         (m).

The Fourier transforms in time of the above sine waves are delta function line spectra, the areas under which are the respective Fourier coefficients (indicated by tildes):

$\begin{matrix} {{\overset{\sim}{\eta}\left( {x,f_{obs}} \right)} = {\frac{1}{2}a\;{\exp\left( {{\mathbb{i}}\;{k \cdot x}} \right)}}} & {{Eqn}.\mspace{14mu} 12} \\ {{\overset{\sim}{p}\left( {x,z,f_{obs}} \right)} = {\frac{1}{2}\rho\;{ga}\frac{\cosh\left\lbrack {k\left( {h + z} \right)} \right\rbrack}{\cosh({kh})}{\exp\left( {{\mathbb{i}}\;{k \cdot x}} \right)}}} & {{Eqn}.\mspace{14mu} 13} \\ {{\overset{\sim}{u}\left( {x,z,f_{obs}} \right)} = {\frac{1}{2}{a\left( {2\pi\; f} \right)}\frac{\cosh\left\lbrack \left( {h + z} \right) \right\rbrack}{\sinh({kh})}{\exp\left( {{\mathbb{i}}\;{k \cdot x}} \right)}\left( \frac{k}{k} \right)}} & {{Eqn}.\mspace{14mu} 14} \\ {{\overset{\sim}{w}\left( {x,z,f_{obs}} \right)} = {{- \frac{1}{2}}{\mathbb{i}}\;{a\left( {2\pi\; f} \right)}\frac{\sinh\left\lbrack {k\left( {h + z} \right)} \right\rbrack}{\sinh({kh})}{\exp\left( {{\mathbb{i}}\;{k \cdot x}} \right)}}} & {{Eqn}.\mspace{14mu} 15} \end{matrix}$ Note that the Fourier coefficient of the surface displacement at x=0 is simply a/2, regardless of the direction or frequency of the plane wave. The squared magnitude of this coefficient is the non-directional power spectrum of the wave height. Therefore the Fourier coefficients of the various measurements are scaled by 2/a to represent the response to a plane wave of unit spectral density.

For velocity measurements, each element of H is computed as the scaled Fourier coefficient corresponding to component of the velocity in the direction of the beam at the location of the range cell:

$\begin{matrix} \begin{matrix} {{H\left( {z,x_{n}} \right)} = {{\frac{2}{a}\left\lbrack {\overset{\sim}{u} + {\overset{\sim}{w}{\hat{i}}_{z}}} \right\rbrack} \cdot b_{n}}} \\ {= {\frac{2\;\pi\; f\;{\exp\left\lbrack {{\mathbb{i}}\;{k \cdot {x_{n}(z)}}} \right\rbrack}}{\sinh({kh})}\left\lbrack {{{\cosh\left\lbrack {k\left( {h + z} \right)} \right\rbrack}\left( \frac{k \cdot b_{n}}{k} \right)} -} \right.}} \\ \left. {{\mathbb{i}}\;{\sinh\left\lbrack \left( {h + z} \right) \right\rbrack}\left( {{\hat{i}}_{z} \cdot b_{n}} \right)} \right\rbrack \end{matrix} & {{Eqn}.\mspace{14mu} 16} \end{matrix}$ where b_(n) is the unit vector pointing outward in the direction of the n^(th) beam of the sonar system,

-   -   x_(n)(z) is the horizontal displacement vector for the range         cell (m), and     -   î_(z) is the unit vector in the vertical direction.         Note that the x origin should be chosen at the sonar system 100         (ADCP in the preferred embodiment) so that the horizontal         component of the beam unit vector b_(n) points in the same         direction as x_(n). The mapping among k, f, and f_(obs), are         given by the linear dispersion relations and their inverses,         which are calculated numerically.

For optional surface elevation measurements at each beam, the corresponding elements of H are computed as the phase adjustments needed to account for the effect of the horizontal displacements of the beams from the x origin:

$\begin{matrix} {{H\left( x_{n} \right)} = {\frac{2}{a}\overset{\sim}{n}{\exp\left( {{\mathbb{i}}\;{k \cdot x_{n}}} \right)}}} & {{Eqn}.\mspace{14mu} 17} \end{matrix}$

where b_(n) is the unit vector pointing outward in the direction of the n^(th) beam of the ADCP.

For the optional pressure measurement at the ADCP, the corresponding elements of H are:

$\begin{matrix} {{H\left( z_{ADCP} \right)} = {{\frac{2}{a}\overset{\sim}{p}} = {{pg}\frac{\cosh\left\lbrack {k\left( {h + z_{ADCP}} \right)} \right\rbrack}{\cosh({kh})}}}} & {{Eqn}.\mspace{14mu} 18} \end{matrix}$ Once the sensitivity vector H is calculated per sub-step 346, the non-normalized wave directional spectrum D (θ) is calculated per sub-step 348 (for the specific observed frequency under consideration) using the following MLM estimator: D(θ)

$\begin{matrix} {{D(\theta)} = \frac{N_{D}}{H^{\dagger}C^{- 1}H}} & {{Eqn}.\mspace{14mu} 19} \end{matrix}$ where H^(†) is the complex conjugate transpose of the sensitivity vector H, and C⁻¹ is the inverse of C. In the final sub-step 350 of FIG. 6 d, the wave directional spectrum D is normalized such that:

∫₀^(2π)D𝕕θ = 1.

Referring now to FIG. 6 e, the iterative maximum likelihood method (IMLM) step 308 b of the algorithm of FIG. 6 is described. Note that this step 308 b is optional, and may be bypassed for one or more observed frequencies as desired. As shown in FIG. 6 e, the IMLM step 308 b begins with the first sub-step 352 which is initialization with the normalized wave directional spectrum D_(n) derived for each observed frequency in prior step 308 a. (Note that the subscript “n” on the wave directional spectrum D is an index used to denote the iteration number. Hence, when n=0, D_(n)=D_(MLM)). Next, the forward relation (eqn. 3 above) is used to compute the iterative cross-spectral coefficient matrix C_(n) using the following relationship (sub-step 354):

$\begin{matrix} {C_{n} = {\int_{0}^{2\pi}{H\; D_{n}H^{\dagger}{\mathbb{d}\theta}}}} & {{Eqn}.\mspace{14mu} 20} \end{matrix}$ The MLM step 308 of the algorithm 300 is again repeated in sub-step 356 using the computed value of C_(n) in order to derive the matrix M, as follows:

$\begin{matrix} {{M\left( D_{n} \right)} = \frac{K}{H^{\dagger}C_{n}^{- 1}H}} & {{Eqn}.\mspace{14mu} 21} \end{matrix}$ where K is chosen such that:

$\begin{matrix} {{\int_{0}^{2\pi}{{M\left( D_{n} \right)}{\mathbb{d}\theta}}} = 1} & {{Eqn}.\mspace{14mu} 22} \end{matrix}$ Next, in sub-step 358, the index n is incremented by one (i.e., n+1) and the directional spectrum calculated according to the relationship: D _(n+1) =D _(n)−ω_(R) [M(D _(n))−D _(MLM)]  Eqn. 23 where ω_(R) is the relaxation parameter, which is chosen to be approximately 1.1 in the present embodiment.

In the next sub-step 360, the spectrum is fixed by zeroing negative values (or a similar procedure) to ensure that D_(n+1) is greater than or equal to zero. Subsequently, the spectrum is renormalized in substep 362 so that:

$\begin{matrix} {{\int_{0}^{2\pi}{D_{n + 1}{\mathbb{d}\theta}}} = 1} & {{Eqn}.\mspace{14mu} 24} \end{matrix}$ Lastly, the convergence criteria is computed. (substep 364). Note that in the present embodiment of the algorithm 300, the convergence criteria are applied to each observed frequency (e.g., upon satisfying the IMLM convergence criteria for a given observed frequency, the MLM step 308 a and optional IMLM step 308 b are again performed for the next observed frequency). An exemplary set of criteria are as follows:

i. a fixed maximum number of iterations (typically 3 to 5) has occurred without meeting any other stopping criteria;

ii. the mean absolute difference in the smeared spectra integral |∫(M(D_(n))−D_(MLM))dθ| is greater than it was on the previous iteration;

iii. the relative squared difference in the measured and forward-relation cross-spectral matrices is less than a predetermined threshold value:

$\begin{matrix} {{\sum\limits_{i,j}\left\lbrack \frac{\left( {C_{n} - C_{i,j}} \right)^{2}}{\left( \underset{i,j}{\sigma} \right)} \right\rbrack} < {{threshold}\mspace{14mu}{value}}} & {{Eqn}.\mspace{14mu} 25} \end{matrix}$ where σ_(i,j) is the estimated standard deviation of the i, j-th element of the measured C; or

iv. the relative difference in the measured and predicted cross-spectral matrix C (Eqn. 25) is greater than it was on the previous iteration.

The above-listed convergence criteria are applied such that satisfaction of any one (or more) of the criteria will terminate further iteration (for the observed frequency under analysis). When all observed frequencies have been analyzed, the algorithm then proceeds to the final algorithm step 309.

As previously noted, the convergence criteria described herein are but one embodiment, and other criteria or mechanisms for terminating the IMLM iteration process may be substituted depending on the specific application of the algorithm and the needs of the user.

The final step 309 in the algorithm of FIG. 6 is now described. As shown in FIG. 6 f, the complete two-dimensional wave directional spectrum is constructed by 1) renormalizing the observed frequency-dependent wave directional spectrum 370; 2) determining the presence of a non-zero current 372, and 3) in the event of non-zero current, remapping the frequency and applying the Jacobian operator 374.

Renormalization of D(θ, f_(obs)) is accomplished by multiplying by S_(H) so that:

$\begin{matrix} {{\int_{0}^{2\pi}{{D\left( {\theta,f_{obs}} \right)}{\mathbb{d}\theta}}} = {{S_{H}\left( f_{obs} \right)}.}} & {{Eqn}.\mspace{14mu} 26} \end{matrix}$ Next, the magnitude of the current is examined, and if no current is present (magnitude=0), no further analysis or computation is performed, and the calculation of D(θ, f_(obs)) is complete. If, however, a non-zero current is present, the frequency is remapped using Eqn. 2, either by interpolating to a regular grid or plotting with a distorted frequency axis (that is, non-linear in observed frequency, linear in intrinsic frequency), and the Jacobian J is applied such that: D(θ, f)=D(θ, f _(obs) {f})J  Eqn. 27 Where

$\begin{matrix} {J = {\frac{\partial f_{obs}}{\partial f}}_{\theta}} & {{Eqn}.\mspace{14mu} 28} \end{matrix}$

Referring now to FIGS. 7 through 10, output from the aforementioned algorithm 300 at various stages of the calculation process is illustrated.

FIG. 7 is an exemplary plot of the linear wave dispersion relation (eqn. 2) obtained from an experimental deployment of the WDS measurement system of the present invention.

FIG. 8 is a mesh plot of an exemplary maximum likelihood method (MLM) estimate of the directional wave spectrum generated using the present invention.

FIG. 9 is a wave height spectrum obtained by integrating the spectra of FIG. 8 over all azimuthal angles.

FIG. 10 is a comparison of estimates of wave directional spectrum versus azimuth for various input spectra as derived using both the maximum likelihood and iterative maximum likelihood methods, using a known directional spectrum to simulate a cross-spectral matrix C. Note the improved performance of the IMLM estimate as compared to the MLM estimate.

Calculation of Wave Height

As previously described, the wave directional measurement system of the present invention is further capable of calculating the significant wave height associated with waves in a the fluid medium. Specifically, the significant wave height Hs (measured in meters) is calculated as 4 times the square root of the area under the wave height spectrum SH (see previous discussion of FIG. 6 b for derivation of wave height spectrum) over the frequency range of interest, typically 0.03 to 0.5 Hz. This frequency range is expected to be dominated by waves rather than tidal fluctuations or noise. This calculation is similarly performed using the processors of the ADCP and/or as a post-processing task on an external computer.

While the above detailed description has shown, described and pointed out the fundamental novel features of the invention as applied to various embodiments, it will be understood that various omissions and substitutions and changes in the form and details of the device illustrated may be made by those skilled in the art, without departing from the concepts of the invention. It should be further noted that while the present invention has been described in terms of a device and method useful in an underwater environment such as an ocean, harbor, or lake, it may also find application in other types of fluid mediums.

APPENDIX I*

A1. The Array Response to Waves

The sonar system 100 of FIG. 2 a is presumed to be oriented as shown in FIG. 4, with the beams sequentially numbered from 1 to n, (n=4 in FIG. 2 a) and having a coordinate system with z positive upwards (toward the surface, so that the fluid medium occupies the region 0>z>−d. The x-axis is assumed to lie along beams 1 and 3, with positive x pointing outwards along beam 1. Beams 2 and 3 respectively lie along the positive and negative y-axis. The coordinates of a range cell satisfy z=√{square root over (x²+y²)}/tan α, where α is the beam angle with respect to the vertical.

We denote the component of velocity along the λ-th beam (λ=1, . . . n) by V_(λ)(x,t) (where x is taken to lie at the center of a range bin); u(x,t) denotes the physical wave velocity vector at location x. Taking a Fourier transform of these variables with respect to time yields the amplitudes V(x,ω) respectively.

The relation between these amplitudes can be written as

$\begin{matrix} {\begin{bmatrix} {{\hat{V}}_{1}\left( {\underset{\_}{x},\omega} \right)} \\ {{\hat{V}}_{2}\left( {\underset{\_}{x},\omega} \right)} \\ {{\hat{V}}_{3}\left( {\underset{\_}{x},\omega} \right)} \\ {{\hat{V}}_{4}\left( {\underset{\_}{x},\omega} \right)} \end{bmatrix} = {\begin{bmatrix} {\sin\;\alpha} & 0 & {\cos\;\alpha} \\ {{- \sin}\;\alpha} & 0 & {\cos\;\alpha} \\ 0 & {\sin\;\alpha} & {\cos\;\alpha} \\ 0 & {{- \sin}\;\alpha} & {\cos\;\alpha} \end{bmatrix}\begin{bmatrix} {{\hat{\underset{\_}{u}}}_{1}\left( {\underset{\_}{x},\omega} \right)} \\ {{\underset{\_}{\hat{u}}}_{2}\left( {\underset{\_}{x},\omega} \right)} \\ {{\underset{\_}{\hat{u}}}_{3}\left( {\underset{\_}{x},\omega} \right)} \end{bmatrix}}} & {{A1}{.1}} \end{matrix}$ or more compactly in matrix form as {circumflex over (V)}( x ,ω)=A(α){circumflex over (u)}( x ,ω)  A1.2 The 4×4 cross-spectral matrix C( x,x′|ω)=<{circumflex over (V)}( x ,ω){circumflex over (V)}

( x ′,ω)>  A1.3 must ultimately be related to the wave direction spectrum D(ω, θ). Note that {circumflex over (V)}(x, ω) is the Fourier amplitude at angular frequency ω,

signifies the complex conjugate transpose, and < . . . > denotes a statistical average over realizations of {circumflex over (V)}.

Substituting equation A1.2 into A1.3 gives *No menclature may vary from that used in “Detailed Description” section C( x,x′|ω)=A<u ( x ,ω) u

( x ′,ω)>A  A1.4 where “t” denotes the transpose.

For linear waves propagating in water of depth d, û is given by {circumflex over (u)}( x ,ω)=∫d ² kII ( k ,ω){circumflex over (η)}( k ,ω)  A1.5 where {circumflex over (η)}(k,ω) is the Fourier amplitude of the surface displacement field at angular frequency ω and wavenumber k=(k_(x), k_(y)),

$\begin{matrix} {\;{{{\underset{\_}{\Pi}\left( {\underset{\_}{k},{\omega\text{❘}\underset{\_}{x}}} \right)} = {\frac{w}{k}{{\mathbb{e}}^{{\mathbb{i}}{\underset{\_}{k} \cdot \underset{\_}{x}}}\left( {{k_{x}F},{k_{y}F},{{- {\mathbb{i}}}\;{kF}^{\prime}}} \right)}}},{{F({kz})} = {{\cosh\left( {k\left( {z + d} \right)} \right)}/{\sinh({kd})}}},{{{and}\mspace{14mu}{F^{\prime}(x)}} = {{\mathbb{d}F}/{{\mathbb{d}x}.}}}}} & {{A1}{.6}} \end{matrix}$ Then C becomes C( x,x′|ω)=∫d ² kAII Ψ( k ,ω) II

A

  A1.7 where Ψ(k,ω) denotes the frequency/wavenumber spectrum of η(x, t).

Equation A1.7 is the forward relation between C and Ψ, and defines a 3-dimensional inversion problem. This can be reduced to a 2-dimensional estimation problem by using the dispersion relation, defined by ω² =gk tanh(kd), k≡|k|  A1.8 where g≅9.8 m/s is the acceleration due to gravity.

This relation can be used to define frequency and frequency/direction spectra (denoted by S(ω)) and D(ω,θ) respectively) via Ψ( k ,ω)d ² k =δ(ω−σ)S(σ)D(σ,θ)dσdθ  A1.9 where δ is the Dirac delta function, and σ(k) satisfies the dispersion relation A1.8 for each wavenumber k. The direction spectrum is normalized to unity area

$\begin{matrix} {{\int_{- \pi}^{+ \pi}{{\mathbb{d}\theta}\;{D\left( {\omega,\theta} \right)}}} = 1} & {{A1}{.10}} \end{matrix}$ Substituting into equation A1.7, we have

$\begin{matrix} {{C\left( {\underset{\_}{x},{{\underset{\_}{x}}^{\prime}\text{❘}\underset{\_}{\omega}}} \right)} = {\int_{- \pi}^{+ \pi}{{\mathbb{d}\theta}\;{\underset{\_}{H}\left( {\theta,{\omega\text{❘}{\underset{\_}{x}}^{\prime}}} \right)}{D\left( {\omega,\theta} \right)}{{\underset{\_}{H}}^{\dagger}\left( {\theta,{\omega\text{❘}\underset{\_}{x}}} \right)}}}} & {{A1}{.11}} \end{matrix}$ where H(θ,ω|x)=A(α)II(k(ω), ω|x), and k(ω) satisfies frequency ω.

Since the wave field is stationary then (except for some short-range correlations introduced by windowing) the various spectral bands in frequency are uncorrelated, and equation A1.11 can be considered to hold for each frequency separately.

Finally, for later purposes, it is easier to consider equation A1.11 as a single matrix equation at each frequency, rather than as a 4×4 matrix equation for each spatial separation x−x′. So we assume that the N range cells along each of the four beams have been ordered in a list (the order is unimportant). Then C becomes a 4N×4N matrix, and H becomes 4N×1. Note that C is still complex conjugate symmetric, and so only 2N(4N+1) elements are independent.

When ordered in this way, the dependence on x and x′ can be omitted, and equation A1.11 written as

$\begin{matrix} {C = {\int_{- \pi}^{+ \pi}{{\mathbb{d}\theta}\;{\underset{\_}{H}(\theta)}{D(\theta)}{{\underset{\_}{H}}^{\dagger}(\theta)}}}} & {{A1}{.12}} \end{matrix}$ where it is understood that a separate equation for each frequency is implied. Note, if we consider a plane wave propagating in the direction θ_(o), then D(θ)=δ(θ−θ_(o)), and C=H(θ_(o))H ^(†)(θ_(o)), so that H gives the directional response of the array.

Equation A1.12 connects a finite set of data (contained in C) to the continuous function D(κ). This expression can be converted into a matrix equation suitable for parameter estimation by approximating D by a finite set of coefficients. As before, since different frequencies are uncorrelated, separate matrix equations for each Fourier harmonic will be obtained. To accomplish this requires several steps. First, the N independent elements of the matrix C at each frequency are listed as a column vector. Note that the order is not important. The outer product H(θ_(o))H

(θ_(o)) is similarly reordered. The continuous integration is then approximated by a finite sum. There are, of course, an infinite number of ways to do this—the integral can be approximated using a trapezoidal or Simpson's rule, or expand D in a set of orthogonal functions. Perhaps the most natural expansion in this case is to write D as a Fourier series.

$\begin{matrix} {D = {\sum\limits_{- \infty}^{+ \infty}{a_{n}{\mathbb{e}}^{{\mathbb{i}}\; n\;\theta}}}} & {{A1}{.13}} \end{matrix}$ Truncating this series at P terms, and substituting into equation A2.1 gives C=Ma  A1.14 where

$\underset{\_}{a} = \left( {{a - \frac{p}{2}},\ldots\mspace{11mu},{a + \frac{p}{2}}} \right)$ is a P×1 column vector of directional Fourier amplitudes (the superscript “t” denotes transpose), C is an N×1 column vector, and

$\begin{matrix} {M = {\int_{\pi}^{+ \pi}{{\mathbb{d}\theta}\;{\underset{\_}{H}(\theta)}{{\underset{\_}{H}}^{\dagger}(\theta)}{\mathbb{e}}^{{\mathbb{i}}\; n\;\theta}}}} & {{A1}{.15}} \\ {\mspace{25mu}{= {{{A(\alpha)}\left\lbrack {\int_{\pi}^{+ \pi}{{\mathbb{d}\theta}{\underset{\_}{\Pi}(\theta)}{{\underset{\_}{\Pi}}^{\dagger}(\theta)}{\mathbb{e}}^{{\mathbb{i}}\; n\;\theta}}} \right\rbrack}{A^{t}(\alpha)}}}} & {{A1}{.16}} \end{matrix}$ is a N×P matrix. From equation A1.6 we have II (θ)=ωe ^(ik(r) ^(x) ^(cos θ+r) ^(y) ^(sin θ))(F cos θ,F sin θ,−iF′)^(t) where F(kz)=cos h(k(z+d))/sin h(kd), and F′(x)=dF/dx. We have used r(r_(x),r_(y))=x−x′ to denote the vector separation between range bins.

Hence the expression for M in equation A1.14 is seen to involve terms such as

$\begin{matrix} {\begin{bmatrix} 1 \\ {\cos\;\theta} \\ {\sin\;\theta} \\ {\cos\; 2\;\theta} \\ {\sin\; 2\;\theta} \end{bmatrix}_{n} = {\int_{- \pi}^{+ \pi}{{\mathbb{d}\vartheta}\;{\mathbb{e}}^{{\mathbb{i}}\; n\;\theta}{{\mathbb{e}}^{{\mathbb{i}}\;{k{({{r_{x}\cos\;\theta} + {r_{y}\sin\;\theta}})}}}\begin{pmatrix} 1 \\ {\cos\;\theta} \\ {\sin\;\theta} \\ {\cos\; 2\;\theta} \\ {\sin\; 2\;\theta} \end{pmatrix}}}}} & {{A1}{.17}} \end{matrix}$ where

${r = \sqrt{{r\frac{2}{x}} + {r\frac{2}{y}}}},$ φ=tan (r_(y)/r_(x)), and [ . . . ]_(n) denotes the function on the right-hand side of equation A1.19.

The various terms above can be expressed in terms of the more primitive integral [e^(ipθ)]_(n), which in turn can be evaluated in terms of Bessel functions as follows:

$\begin{matrix} {\left\lbrack {\mathbb{e}}^{{\mathbb{i}}\; p\;\theta} \right\rbrack = {\int_{- \pi}^{+ \pi}{{\mathbb{d}\theta}\;{\mathbb{e}}^{{\mathbb{i}}\; p\;\theta}{\mathbb{e}}^{{\mathbb{i}}\;{kr}\;{\cos{({\theta - \varphi})}}}{\mathbb{e}}^{{\mathbb{i}}\; n\;\theta}}}} & {{A1}{.18}} \\ {\mspace{59mu}{= {2\;{\pi({\mathbb{i}})}^{n + p}{\mathbb{e}}^{{{\mathbb{i}}{({n + p})}}\varphi}{J_{n + p}({kr})}}}} & {{A1}{.19}} \end{matrix}$ where J_(n)(x) is a Bessel function of the first kind of degree n.

Hence,

$\begin{matrix} {\left\lbrack {\cos\; p\;\theta} \right\rbrack_{n} = \begin{matrix} {2\;\pi({\mathbb{i}})^{n + p}\frac{1}{2}{{\mathbb{e}}^{{\mathbb{i}}\; n\;\varphi}\left\lbrack {{{\mathbb{e}}^{{\mathbb{i}}\; n\;\varphi}J_{n + p}\left( {k\; r} \right)} -} \right.}} \\ \left. {( - )^{p}{\mathbb{e}}^{{\mathbb{i}}\; p\;\varphi}{J_{n + p}\left( {k\; r} \right)}} \right\rbrack \end{matrix}} & {A\; 1.\mspace{11mu} 20} \\ {\left\lbrack {\sin\; p\;\theta} \right\rbrack_{n} = \begin{matrix} {2\;\pi({\mathbb{i}})^{n + p}\frac{1}{2i}{{\mathbb{e}}^{{\mathbb{i}}\; n\;\varphi}\left\lbrack {{{\mathbb{e}}^{{\mathbb{i}}\; n\;\varphi}{J_{n + p}\left( {k\; r} \right)}} -} \right.}} \\ \left. {( - )^{p}{\mathbb{e}}^{{\mathbb{i}}\; p\;\varphi}{J_{n + p}\left( {k\; r} \right)}} \right\rbrack \end{matrix}} & {{A1}.\mspace{11mu} 21} \end{matrix}$ These expressions permit M to be evaluated in terms of known functions at each frequency (and therefore each wavenumber). A2. The Maximum-Likelihood Method (MLM)

To form the MLM estimator, it is assumed that D can be expressed as a linear function of the data: D(θ)=γ(θ)

Cγ(θ)  A2.1 where the steering vector, γ(θ), is determined by minimizing the power in all directions, subject to the constraint that the signal associated with a plane wave is passed with unity gain. The solution for the weights can be obtained using a Lagrange multiplier and is given by

$\begin{matrix} {{\gamma\;(\theta)} = \frac{C^{- 1}H}{H^{\dagger}C^{- 1}H}} & {A\; 2.\mspace{11mu} 2} \end{matrix}$ where C⁻¹ is the inverse of C, which is computed using a singular-value decomposition. Note that γ(θ) is a function of both the array geometry/response and the data through its dependence on H and C. Then the MLM estimator can be written

$\begin{matrix} {{D(\theta)} = \frac{N_{D}}{H^{\dagger}C^{- 1}H}} & {{A2}.\; 3} \end{matrix}$ where the normalization constant, N_(D), is chosen so that D has unit area. The MLM estimator is “data-adaptive” is the sense that it uses the data to obtain filter weights γ that for any given “look-direction” minimize the power coming from other directions. As a consequence, the expected value of the MLM estimate is the convolution of the true spectrum D with a window that depends on D. Since the window is a priori unknown, it is not possible to deconvolve it directly and another approach, such as the iterative maximum likelihood method (IMLM), must be employed.

Although the off-diagonal elements of the data covariance matrix C are not biased, they are subject to sampling variability—their estimates converging to the true cross-spectra as the degrees-of-freedom N_(c) tends to infinity. This uncertainty translates into a mean-square error in the magnitude of D (Capon and Goodman, 1970) as

$\begin{matrix} {{{var}(D)} = {\frac{1}{N_{C} - L + 1}{E\lbrack D\rbrack}^{2}}} & {A\; 2.\mspace{11mu} 4} \end{matrix}$ where var( . . . ) and E[ . . . ] denote the variance and expected value respectively, N_(c) is the number of degrees-of-freedom in the estimate of C, and L is the number of range cells used (C has dimension L×L). In addition to this sampling error, the diagonal elements of C are biased by the Doppler phase noise. The expected magnitude of this bias depends weakly on range through the acoustic signal-to-noise ratio, but to first order is roughly isotropic and independent of depth, and hence adds a constant to the diagonal elements of C. Intuitively, it is expected that this contribution will raise the overall level of the spectrum, and will tend to appear more strongly where the array sidelobes are largest. A3. The Iterative Maximum-Likelihood Method (IMLM)

The IMLM estimator was proposed by Pawka (1983) for the analysis of pressure-gage-array observations of wave direction, and later applied to PUV observations by Oltman-Shay and Guza (1984). Krogstad et al. (1988) used the technique to obtain wave direction from velocity observations taken with a horizontal-beam sonar.

The major difficulty with the MLM estimate is that it is not consistent, in the sense that the forward relation (2) applied to the MLM estimate D_(ML) does not reproduce the observed covariance, C, and therefore the MLM method does not yield a true power spectral density.

However, it is possible to define a heuristic iteration scheme that enforces consistency in an approximate way. Consider the nonlinear operator, N, defined by

The problem is to find a spectrum D that satisfies N(D)=D _(ML),  A3.2 where D_(MLM) denotes the original MLM estimate based on the observed covariance matrix, C.

Krogstad et al. propose the following iteration scheme for the approximate solution of equation 11 D _(n+1) =D _(n) +λ[D _(ML) −N(D _(n))]  A3.3 where D₀=D_(MLM), and λ is a relaxation parameter that can be freely chosen. In practice, Krogstad et al. find reasonable convergence after 4-6 iterations for λ's slightly greater than unity (typically in the range 1.1-1.4). Note that once the initial estimate has been computed, the iteration can proceed without further reference to the data covariance, C.

In general, the IMLM estimate more closely follows the input spectrum than the MLM estimate, and the widths, especially in the region of the dominant peak, are also in better agreement.

A4. The Eigenvector (EV) Technique

The EV method (Johnson, 1982) is another high-resolution bearing estimator. The basic idea is to decompose the data matrix into a signal and an orthogonal residual, which we identify as the noise subspace. To formulate the problem more specifically, it assumed that m range cells are being used, and model the array output as d(t)=As(t)+n(t)  A4.1 Here d is an mx1 vector of observations, s is a px1 vector of (unknown) random signals, n is an mx1 vector of Gaussian noise (assumed to be independent of the signals), and A is an mxp matrix characterizing the array response. Taking the Fourier transform of this equation and forming the cross-spectral matrix gives C=ASA

+N  A4.2 where S and N are respectively the signal and noise covariances, and all quantities depend on frequency.

The first considered is where the columns of A are linearly independent and there are fewer signals than data—e.g. p<m. The EV algorithm estimates the signal directions by finding the orthogonal noise subspace. Operationally, the separation is accomplished by an eigenvector decomposition of the data matrix C. Since the eigenvectors are orthogonal and p<m, then m−p eigenvectors will be orthogonal to the signal subspace. We denote these eigenvectors and the corresponding eigenvalues by {{circumflex over (n)}_(j)} and {λ_(j)} respectively, where j=1, . . . , n−p. Then to the extent that the array response function H is a good representation of the signal, the projection of H on {{circumflex over (n)}_(j)} will vanish for angles corresponding to incident waves (e.g. signals) and will be non-zero otherwise. Similarly, any weighted sum of projections (or their magnitude-squared) will vanish, and the reciprocal will display sharp peaks at signal directions. Taking equal weights gives the MUSIC algorithm (Schmidt, 1986). The EV estimator uses the inverse of the noise eigenvalues as weights, and can be written as

$\begin{matrix} {D = {\frac{N_{D}}{\sum\limits_{j = i}^{m - p}\;{\lambda_{j}^{- 1}{{H^{\dagger}{\hat{n}}_{j}}}^{2}}} = \frac{N_{D}}{H^{\dagger}C_{N}^{- 1}H}}} & {{A4}.\mspace{11mu} 3} \end{matrix}$ where C_(N) is the restriction of C to the noise subspace, and N_(D) is a normalization constant. One might expect that this is a somewhat better estimator since it emphasizes eigenvectors that are more “noise-like” (e.g. those having smaller eigenvalues).

As an aside, we note that in the limit that the number of signals tend to zero, the EV estimator in equation A4.3 becomes identical with the MLM estimator given in equation 19.

In concluding this section, it is emphasized the fact that the EV algorithm is a bearing estimator. Its attraction lies in its simplicity and computational speed—to estimate the directional power density it must still be followed by the iterative IEV. Simulation results demonstrate that the EV can provide a useful estimate of the dominant wave directions when a lower bound on the noise dimension can be obtained. 

1. A method of measuring wave directional spectrum in a fluid medium, the method comprising: determining a sensitivity vector related to a plurality of range cells at a plurality of depths, wherein the sensitivity vector is further related to at least one of a surface height and pressure within the fluid medium; and generating the wave directional spectrum based in part on the sensitivity vector.
 2. The method of claim 1, further comprising: generating a plurality of acoustic beams, each of the acoustic beams positioned at a non-zero angle relative to a fluid surface; and receiving echoes from the plurality of acoustic beams at each of the plurality of range cells.
 3. The method of claim 1, further comprising: determining a current velocity in each of the plurality of range cells; and wherein determining the wave directional spectrum comprises determining the wave direction based in part on the current velocity in each of the plurality of range cells and the sensitivity vector.
 4. The method of claim 1, further comprising: generating a non-directional wave height spectrum; and wherein generating the wave directional spectrum comprises determining the wave direction based in part on the non-directional wave height spectrum and the sensitivity vector.
 5. The method of claim 4, wherein determining the wave height spectrum comprises performing a maximum likelihood method of determining directional spectra based in part on the sensitivity vector.
 6. One or more processor readable storage devices having processor readable code embodied thereon, the processor readable code for programming one or more processors to perform a method comprising: determining a sensitivity vector related to a plurality of range cells at a plurality of depths within a fluid medium, wherein the sensitivity vector is further related to at least one of a surface height and pressure within the fluid medium; and generating a wave directional spectrum based in part on the sensitivity vector.
 7. The storage devices of claim 6, wherein the method further comprises: generating a non-directional wave height spectrum; and wherein determining the wave directional spectrum comprises determining the wave direction based in part on the non-directional wave height spectrum and the sensitivity vector.
 8. A system for measuring wave directional spectrum, the system comprising: a transducer system configured to generate a plurality of acoustic beams in a fluid medium, each acoustic beam having a plurality of range cells at a plurality of heights, the plurality of range cells at the plurality of heights defining a configuration; a receiver configured to receive echoes from the plurality of range cells in the plurality of acoustic beams and generate a received signal; and a signal processor configured to determine a sensitivity vector based, at least in part, on the configuration of the plurality of range cells at the plurality of heights in each of the plurality of acoustic beams and at least in part on at least one of a surface height and pressure within the fluid medium, and generating the wave directional spectrum based in part on the received signal and the sensitivity vector.
 9. The system of claim 8, wherein the transducer system comprises a plurality of transducers, each transducer configured to generate one of the plurality of acoustic beams along an axis that is at a non-zero angle relative to a surface of a fluid medium.
 10. The system of claim 8, wherein the transducer system comprises a transducer array in a Janus configuration.
 11. The system of claim 8, wherein the receiver comprises the transducer system.
 12. The system of claim 8, wherein the signal processor comprises: a sampling module configured to sample the received signal and generate a sampled received signal; and a digital signal processor configured to process the sampled received signal using the sensitivity vector.
 13. The system of claim 8, wherein the signal processor is further configured to determine a current velocity in each of the range cells based in part on the received signal, and wherein the signal processor generates the wave directional spectrum based, at least in part, on one or more of the current velocities and the sensitivity vector.
 14. The system of claim 8, wherein the signal processor is further configured to determine a non-directional wave height spectrum, and wherein the signal processor generates the wave directional spectrum based, at least in part, on the non-directional wave height spectrum and the sensitivity vector.
 15. The system of claim 8, wherein the signal processing system determines the wave directional spectrum using a maximum likelihood method.
 16. The system of claim 8, wherein the signal processing system determines the wave directional spectrum using an iterative maximum likelihood method. 